let wxRtLog = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : {}

/**
 * 实时日志工具类 RealtimeLogUtil
 */
export class RtLogUtil {
  /**
   * @param {number|string|[]|Object} ...args 日志内容，可以有任意多个。每次调用的参数的总大小不超过5Kb
   */
  static info() {
    if (!wxRtLog) return
    wxRtLog.info.apply(wxRtLog, arguments)
    // console.log('wxLog.info')
  }
  /**
   * @param {<number|string|[]|Object} ...args 日志内容，可以有任意多个。每次调用的参数的总大小不超过5Kb
   */
  static warn() {
    if (!wxRtLog) return
    wxRtLog.warn.apply(wxRtLog, arguments)
    // console.log('wxLog.warn')
  }
  /**
   * @param {number|string|[]|Object} ...args 日志内容，可以有任意多个。每次调用的参数的总大小不超过5Kb
   */
  static error() {
    if (!wxRtLog) return
    wxRtLog.error.apply(wxRtLog, arguments)
    // console.log('wxLog.error')
  }
  /**
   * 设置实时日志page参数所在的页面
   * 
   * @param {<Page>} page page实
   * @since 基础库2.9.1 
   */
  static in(page){
    if (!wxRtLog || !wxRtLog.in) return
    if (!msg instanceof Page){
      // console.log('in page',page)
      return
    }
    wxRtLog.in(page)
    // console.log('wxLog.in')
  }
  /**
   * 设置过滤关键字
   * 
   * @param {string} msg 过滤关键字，最多不超过1Kb，可以在小程序管理后台根据设置的内容搜索得到对应的日志。
   * @since 基础库2.7.3
   */
  static setFilterMsg(msg) { // 从基础库2.7.3开始支持
    if (!wxRtLog || !wxRtLog.setFilterMsg) return
    if (typeof msg !== 'string') return
    wxRtLog.setFilterMsg(msg)
    // console.log('wxLog.setFilterMsg')
  }
  /**
   * 添加过滤关键字
   * 
   * @param {string} msg 是setFilterMsg的添加接口。用于设置多个过滤关键字。
   * @since 基础库2.8.1
   */
  static addFilterMsg(msg) { // 从基础库2.8.1开始支持
    if (!wxRtLog || !wxRtLog.addFilterMsg) return
    if (typeof msg !== 'string') return
    wxRtLog.addFilterMsg(msg)
    // console.log('wxLog.addFilterMsg')
  }
}